#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
检查Chrome调试端口是否开放的工具
"""

import socket
import time

DEBUG_PORT = 9222
TIMEOUT = 2  # 超时时间（秒）


def check_port_open(port):
    """检查指定端口是否开放"""
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(TIMEOUT)
    try:
        result = sock.connect_ex(("127.0.0.1", port))
        return result == 0  # 0表示端口开放
    finally:
        sock.close()


def main():
    print(f"正在检查Chrome调试端口 {DEBUG_PORT} 是否开放...")
    
    if check_port_open(DEBUG_PORT):
        print(f"✅ 调试端口 {DEBUG_PORT} 已开放")
        print("   Chrome浏览器已成功以调试模式启动")
        print("\n请确保在浏览器中完成以下操作：")
        print("1. 登录您的小米云服务账号")
        print("2. 导航到便签页面（https://i.mi.com/note）")
        print("3. 确保能看到您的便签列表")
        print("\n然后可以运行导出工具：")
        print("python mi_note_web_exporter_friendly.py --driver_path 'C:\\Program Files\\chrome\\chromedriver.exe'")
    else:
        print(f"❌ 调试端口 {DEBUG_PORT} 未开放")
        print("   Chrome浏览器可能尚未启动或启动失败")
        print("   请确认是否已运行start_chrome_debug_en.bat文件")
        print("   或手动以调试模式启动Chrome：chrome.exe --remote-debugging-port=9222")


if __name__ == "__main__":
    main()